package com.lwm.service;

import com.github.pagehelper.PageInfo;
import com.lwm.domain.FactoryModeling;
import com.lwm.domain.ResponseResult;
import com.lwm.dto.FactoryIdDto;
import com.lwm.dto.FactoryModelingDto;

public interface FactoryModelingService {

    /**
     * 保存
     *
     * @param factoryModelingDto 工厂建模dto
     * @return {@link ResponseResult}<{@link Object}>
     */
    ResponseResult<Object> save(FactoryModelingDto factoryModelingDto);

    /**
     * 删除
     *
     * @param factoryIdDto 工厂建模id和明细id dto
     * @return {@link ResponseResult}<{@link Object}>
     */
    ResponseResult<Object> remove(FactoryIdDto factoryIdDto);

    /**
     * 编辑
     *
     * @param factoryModelingDto 工厂建模dto
     * @return {@link ResponseResult}<{@link Object}>
     */
    ResponseResult<Object> edit(FactoryModelingDto factoryModelingDto);

    /**
     * 分页
     *
     * @param page            页码
     * @param size            数量
     * @param factoryModeling 工厂建模
     * @return {@link ResponseResult}<{@link PageInfo}<{@link FactoryModelingDto}>>
     */
    ResponseResult<PageInfo<FactoryModelingDto>> page(Integer page, Integer size, FactoryModeling factoryModeling);

    /**
     * 根据id获取
     *
     * @param id id
     * @return {@link ResponseResult}<{@link FactoryModelingDto}>
     */
    ResponseResult<FactoryModelingDto> getById(Long id);
}
